var runtime.sched

457 uses

	runtime (current package)
		cgocall.go#L433: 	hz := sched.profilehz
		debug.go#L75: 	lock(&sched.lock)
		debug.go#L78: 		unlock(&sched.lock)
		debug.go#L83: 	sched.customGOMAXPROCS = true
		debug.go#L84: 	unlock(&sched.lock)
		debug.go#L124: 	lock(&sched.lock)
		debug.go#L126: 	custom := sched.customGOMAXPROCS
		debug.go#L127: 	unlock(&sched.lock)
		debug.go#L142: 	lock(&sched.lock)
		debug.go#L143: 	sched.customGOMAXPROCS = false
		debug.go#L144: 	unlock(&sched.lock)
		debug.go#L168: 	total := sched.totalMutexWaitTime.Load()
		debug.go#L170: 	total += sched.totalRuntimeLockWaitTime.Load()
		debugcall.go#L248: 		lock(&sched.lock)
		debugcall.go#L250: 		unlock(&sched.lock)
		lock_spinbit.go#L138: 	case &sched.lock:
		mcheckmark.go#L134: 	sched.gcwaiting.Store(false)
		mcheckmark.go#L143: 	sched.gcwaiting.Store(true)
		metrics.go#L351: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L512: 				sched.timeToRun.write(out)
		metrics.go#L517: 				sched.stwStoppingTimeGC.write(out)
		metrics.go#L522: 				sched.stwStoppingTimeOther.write(out)
		metrics.go#L527: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L532: 				sched.stwTotalTimeOther.write(out)
		metrics.go#L806: 	lock(&sched.lock)
		metrics.go#L813: 	a.gCreated += sched.goroutinesCreated.Load()
		metrics.go#L851: 	a.gRunnable += uint64(sched.runq.size)
		metrics.go#L854: 	nGsyscallNoP := sched.nGsyscallNoP.Load()
		metrics.go#L870: 	unlock(&sched.lock)
		mgc.go#L1449: 	sched.idleTime.Store(0)
		mgc.go#L1870: 						lock(&sched.lock)
		mgc.go#L1872: 						unlock(&sched.lock)
		mgc.go#L2174: 	lock(&sched.sudoglock)
		mgc.go#L2176: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L2180: 	sched.sudogcache = nil
		mgc.go#L2181: 	unlock(&sched.sudoglock)
		mgc.go#L2185: 	lock(&sched.deferlock)
		mgc.go#L2189: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L2193: 	sched.deferpool = nil
		mgc.go#L2194: 	unlock(&sched.deferlock)
		mgclimit.go#L213: 				sched.idleTime.Add(duration)
		mgclimit.go#L472: 		sched.idleTime.Add(duration)
		mgcmark.go#L361: 	lock(&sched.gFree.lock)
		mgcmark.go#L362: 	list := sched.gFree.stack
		mgcmark.go#L363: 	sched.gFree.stack = gList{}
		mgcmark.go#L364: 	unlock(&sched.gFree.lock)
		mgcmark.go#L385: 	lock(&sched.gFree.lock)
		mgcmark.go#L386: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L387: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1270: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcmark.go#L1300: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcpacer.go#L716: 		if sched.npidle.Load() != 0 && sched.nmspinning.Load() == 0 {
		mstats.go#L463: 		lock(&sched.sysmonlock)
		mstats.go#L503: 		unlock(&sched.sysmonlock)
		mstats.go#L973: 	s.TotalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L974: 	s.IdleTime += sched.idleTime.Load()
		panic.go#L582: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L583: 		lock(&sched.deferlock)
		panic.go#L584: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L585: 			d := sched.deferpool
		panic.go#L586: 			sched.deferpool = d.link
		panic.go#L590: 		unlock(&sched.deferlock)
		panic.go#L641: 		lock(&sched.deferlock)
		panic.go#L642: 		last.link = sched.deferpool
		panic.go#L643: 		sched.deferpool = first
		panic.go#L644: 		unlock(&sched.deferlock)
		proc.go#L411: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L500: 		lock(&sched.sudoglock)
		proc.go#L502: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L503: 			s := sched.sudogcache
		proc.go#L504: 			sched.sudogcache = s.next
		proc.go#L508: 		unlock(&sched.sudoglock)
		proc.go#L566: 		lock(&sched.sudoglock)
		proc.go#L567: 		last.next = sched.sudogcache
		proc.go#L568: 		sched.sudogcache = first
		proc.go#L569: 		unlock(&sched.sudoglock)
		proc.go#L832: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L833: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L834: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L835: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L854: 	sched.midle.init(unsafe.Offsetof(m{}.idleNode))
		proc.go#L863: 	sched.maxmcount = 10000
		proc.go#L919: 	lock(&sched.lock)
		proc.go#L920: 	sched.lastpoll.Store(nanotime())
		proc.go#L924: 		sched.customGOMAXPROCS = true
		proc.go#L939: 	unlock(&sched.lock)
		proc.go#L964: 	assertLockHeld(&sched.lock)
		proc.go#L975: 	if count > sched.maxmcount {
		proc.go#L976: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L986: 	assertLockHeld(&sched.lock)
		proc.go#L988: 	if sched.mnext+1 < sched.mnext {
		proc.go#L991: 	id := sched.mnext
		proc.go#L992: 	sched.mnext++
		proc.go#L1006: 	lock(&sched.lock)
		proc.go#L1030: 	unlock(&sched.lock)
		proc.go#L1075: 	sched.nmspinning.Add(1)
		proc.go#L1076: 	sched.needspinning.Store(0)
		proc.go#L1189: 		sched.stopwait = freezeStopWait
		proc.go#L1190: 		sched.gcwaiting.Store(true)
		proc.go#L1358: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1380: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1656: 	lock(&sched.lock)
		proc.go#L1658: 	sched.stopwait = gomaxprocs
		proc.go#L1659: 	sched.gcwaiting.Store(true)
		proc.go#L1665: 	sched.stopwait--
		proc.go#L1684: 		sched.stopwait--
		proc.go#L1686: 	wait := sched.stopwait > 0
		proc.go#L1687: 	unlock(&sched.lock)
		proc.go#L1693: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1694: 				noteclear(&sched.stopnote)
		proc.go#L1704: 		sched.stwStoppingTimeGC.record(startTime)
		proc.go#L1706: 		sched.stwStoppingTimeOther.record(startTime)
		proc.go#L1715: 	if sched.stopwait != 0 {
		proc.go#L1769: 	lock(&sched.lock)
		proc.go#L1777: 	sched.gcwaiting.Store(false)
		proc.go#L1778: 	if sched.sysmonwait.Load() {
		proc.go#L1779: 		sched.sysmonwait.Store(false)
		proc.go#L1780: 		notewakeup(&sched.sysmonnote)
		proc.go#L1782: 	unlock(&sched.lock)
		proc.go#L1809: 		sched.stwTotalTimeGC.record(totalTime)
		proc.go#L1811: 		sched.stwTotalTimeOther.record(totalTime)
		proc.go#L1997: 		lock(&sched.lock)
		proc.go#L1998: 		sched.nmfreed++
		proc.go#L2000: 		unlock(&sched.lock)
		proc.go#L2030: 	lock(&sched.lock)
		proc.go#L2054: 	mp.freelink = sched.freem
		proc.go#L2055: 	sched.freem = mp
		proc.go#L2056: 	unlock(&sched.lock)
		proc.go#L2059: 	sched.totalRuntimeLockWaitTime.Add(mp.mLockProfile.waitTime.Load())
		proc.go#L2068: 	lock(&sched.lock)
		proc.go#L2069: 	sched.nmfreed++
		proc.go#L2071: 	unlock(&sched.lock)
		proc.go#L2144: 	lock(&sched.lock)
		proc.go#L2145: 	if sched.safePointWait != 0 {
		proc.go#L2148: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L2149: 	sched.safePointFn = fn
		proc.go#L2165: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L2168: 			sched.safePointWait--
		proc.go#L2172: 	wait := sched.safePointWait > 0
		proc.go#L2173: 	unlock(&sched.lock)
		proc.go#L2199: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L2200: 				noteclear(&sched.safePointNote)
		proc.go#L2206: 	if sched.safePointWait != 0 {
		proc.go#L2215: 	lock(&sched.lock)
		proc.go#L2216: 	sched.safePointFn = nil
		proc.go#L2217: 	unlock(&sched.lock)
		proc.go#L2240: 	sched.safePointFn(p)
		proc.go#L2241: 	lock(&sched.lock)
		proc.go#L2242: 	sched.safePointWait--
		proc.go#L2243: 	if sched.safePointWait == 0 {
		proc.go#L2244: 		notewakeup(&sched.safePointNote)
		proc.go#L2246: 	unlock(&sched.lock)
		proc.go#L2284: 	if sched.freem != nil {
		proc.go#L2285: 		lock(&sched.lock)
		proc.go#L2287: 		for freem := sched.freem; freem != nil; {
		proc.go#L2320: 		sched.freem = newList
		proc.go#L2321: 		unlock(&sched.lock)
		proc.go#L2457: 	sched.ngsys.Add(-1)
		proc.go#L2533: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2544: 	sched.ngsys.Add(1)
		proc.go#L2601: 	sched.ngsys.Add(1)
		proc.go#L2641: 		lock(&sched.lock)
		proc.go#L2643: 		unlock(&sched.lock)
		proc.go#L2964: 	lock(&sched.lock)
		proc.go#L2965: 	sched.nmsys++
		proc.go#L2967: 	unlock(&sched.lock)
		proc.go#L3005: 	lock(&sched.lock)
		proc.go#L3007: 	unlock(&sched.lock)
		proc.go#L3054: 		lock(&sched.lock)
		proc.go#L3066: 				unlock(&sched.lock)
		proc.go#L3089: 		unlock(&sched.lock)
		proc.go#L3099: 			lock(&sched.lock)
		proc.go#L3107: 		unlock(&sched.lock)
		proc.go#L3136: 	if !runqempty(pp) || !sched.runq.empty() {
		proc.go#L3152: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L3153: 		sched.needspinning.Store(0)
		proc.go#L3157: 	lock(&sched.lock)
		proc.go#L3158: 	if sched.gcwaiting.Load() {
		proc.go#L3161: 		sched.stopwait--
		proc.go#L3162: 		if sched.stopwait == 0 {
		proc.go#L3163: 			notewakeup(&sched.stopnote)
		proc.go#L3165: 		unlock(&sched.lock)
		proc.go#L3169: 		sched.safePointFn(pp)
		proc.go#L3170: 		sched.safePointWait--
		proc.go#L3171: 		if sched.safePointWait == 0 {
		proc.go#L3172: 			notewakeup(&sched.safePointNote)
		proc.go#L3175: 	if !sched.runq.empty() {
		proc.go#L3176: 		unlock(&sched.lock)
		proc.go#L3182: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L3183: 		unlock(&sched.lock)
		proc.go#L3192: 	unlock(&sched.lock)
		proc.go#L3215: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L3227: 	lock(&sched.lock)
		proc.go#L3230: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3233: 		unlock(&sched.lock)
		proc.go#L3241: 	unlock(&sched.lock)
		proc.go#L3299: 	if !sched.gcwaiting.Load() {
		proc.go#L3306: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3311: 	lock(&sched.lock)
		proc.go#L3314: 	sched.stopwait--
		proc.go#L3315: 	if sched.stopwait == 0 {
		proc.go#L3316: 		notewakeup(&sched.stopnote)
		proc.go#L3318: 	unlock(&sched.lock)
		proc.go#L3371: 	hz := sched.profilehz
		proc.go#L3403: 	if sched.gcwaiting.Load() {
		proc.go#L3443: 	if pp.schedtick%61 == 0 && !sched.runq.empty() {
		proc.go#L3444: 		lock(&sched.lock)
		proc.go#L3446: 		unlock(&sched.lock)
		proc.go#L3474: 	if !sched.runq.empty() {
		proc.go#L3475: 		lock(&sched.lock)
		proc.go#L3477: 		unlock(&sched.lock)
		proc.go#L3495: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 && sched.pollingNet.Swap(1) == 0 {
		proc.go#L3497: 		sched.pollingNet.Store(0)
		proc.go#L3517: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3594: 	lock(&sched.lock)
		proc.go#L3595: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3596: 		unlock(&sched.lock)
		proc.go#L3599: 	if !sched.runq.empty() {
		proc.go#L3601: 		unlock(&sched.lock)
		proc.go#L3610: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3613: 		unlock(&sched.lock)
		proc.go#L3620: 	unlock(&sched.lock)
		proc.go#L3661: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3676: 		lock(&sched.lock)
		proc.go#L3677: 		if !sched.runq.empty() {
		proc.go#L3681: 				unlock(&sched.lock)
		proc.go#L3693: 		unlock(&sched.lock)
		proc.go#L3732: 	if netpollinited() && (netpollAnyWaiters() || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3733: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3757: 		sched.pollUntil.Store(0)
		proc.go#L3758: 		sched.lastpoll.Store(now)
		proc.go#L3765: 		lock(&sched.lock)
		proc.go#L3767: 		unlock(&sched.lock)
		proc.go#L3791: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3805: 	if !sched.runq.empty() {
		proc.go#L3812: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3838: 			if sched.gcwaiting.Load() {
		proc.go#L3905: 			lock(&sched.lock)
		proc.go#L3909: 				unlock(&sched.lock)
		proc.go#L3912: 			unlock(&sched.lock)
		proc.go#L3972: 	lock(&sched.lock)
		proc.go#L3975: 		unlock(&sched.lock)
		proc.go#L3982: 		unlock(&sched.lock)
		proc.go#L3989: 		unlock(&sched.lock)
		proc.go#L3994: 	unlock(&sched.lock)
		proc.go#L4003: 	if sched.lastpoll.Load() == 0 {
		proc.go#L4008: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L4027: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L4072: 			lock(&sched.lock)
		proc.go#L4076: 				unlock(&sched.lock)
		proc.go#L4082: 			unlock(&sched.lock)
		proc.go#L4090: 		lock(&sched.lock)
		proc.go#L4092: 		unlock(&sched.lock)
		proc.go#L4098: 	npidle := sched.npidle.Load()
		proc.go#L4105: 		lock(&sched.lock)
		proc.go#L4107: 		unlock(&sched.lock)
		proc.go#L4112: 		lock(&sched.lock)
		proc.go#L4114: 		unlock(&sched.lock)
		proc.go#L4202: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4206: 		lock(&sched.lock)
		proc.go#L4210: 			unlock(&sched.lock)
		proc.go#L4212: 			sched.disable.runnable.pushBack(gp)
		proc.go#L4213: 			unlock(&sched.lock)
		proc.go#L4331: 	if preempted && sched.gcwaiting.Load() {
		proc.go#L4336: 		lock(&sched.lock)
		proc.go#L4338: 		unlock(&sched.lock)
		proc.go#L4510: 		sched.ngsys.Add(-1)
		proc.go#L4682: 	if sched.gcwaiting.Load() {
		proc.go#L4710: 	if sched.sysmonwait.Load() {
		proc.go#L4747: 	lock(&sched.lock)
		proc.go#L4748: 	if sched.sysmonwait.Load() {
		proc.go#L4749: 		sched.sysmonwait.Store(false)
		proc.go#L4750: 		notewakeup(&sched.sysmonnote)
		proc.go#L4752: 	unlock(&sched.lock)
		proc.go#L4758: 	lock(&sched.lock)
		proc.go#L4759: 	if sched.stopwait > 0 {
		proc.go#L4772: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4773: 			notewakeup(&sched.stopnote)
		proc.go#L4776: 	unlock(&sched.lock)
		proc.go#L4892: 	if sched.stopwait == freezeStopWait {
		proc.go#L5004: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L5045: 	if sched.pidle != 0 {
		proc.go#L5046: 		lock(&sched.lock)
		proc.go#L5048: 		if pp != nil && sched.sysmonwait.Load() {
		proc.go#L5049: 			sched.sysmonwait.Store(false)
		proc.go#L5050: 			notewakeup(&sched.sysmonnote)
		proc.go#L5052: 		unlock(&sched.lock)
		proc.go#L5082: 	lock(&sched.lock)
		proc.go#L5097: 	} else if sched.sysmonwait.Load() {
		proc.go#L5098: 		sched.sysmonwait.Store(false)
		proc.go#L5099: 		notewakeup(&sched.sysmonnote)
		proc.go#L5101: 	unlock(&sched.lock)
		proc.go#L5134: 		sched.nGsyscallNoP.Add(1)
		proc.go#L5149: 		sched.nGsyscallNoP.Add(-1)
		proc.go#L5359: 		sched.ngsys.Add(1)
		proc.go#L5394: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L5498: 		lock(&sched.gFree.lock)
		proc.go#L5499: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5500: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L5501: 		unlock(&sched.gFree.lock)
		proc.go#L5509: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L5510: 		lock(&sched.gFree.lock)
		proc.go#L5514: 			gp := sched.gFree.stack.pop()
		proc.go#L5516: 				gp = sched.gFree.noStack.pop()
		proc.go#L5523: 		unlock(&sched.gFree.lock)
		proc.go#L5582: 	lock(&sched.gFree.lock)
		proc.go#L5583: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5584: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L5585: 	unlock(&sched.gFree.lock)
		proc.go#L5700: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.stack.size - sched.gFree.noStack.size
		proc.go#L5702: 		n -= sched.ngsys.Load()
		proc.go#L5725: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5893: 	lock(&sched.lock)
		proc.go#L5894: 	sched.profilehz = hz
		proc.go#L5895: 	unlock(&sched.lock)
		proc.go#L5948: 	assertLockHeld(&sched.lock)
		proc.go#L6016: 	sched.goroutinesCreated.Add(int64(pp.goroutinesCreated))
		proc.go#L6031: 	assertLockHeld(&sched.lock)
		proc.go#L6046: 	if sched.procresizetime != 0 {
		proc.go#L6047: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L6049: 	sched.procresizetime = now
		proc.go#L6356: 	lock(&sched.lock)
		proc.go#L6357: 	sched.nmidlelocked += v
		proc.go#L6361: 	unlock(&sched.lock)
		proc.go#L6368: 	assertLockHeld(&sched.lock)
		proc.go#L6396: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L6401: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L6402: 		unlock(&sched.lock)
		proc.go#L6420: 			unlock(&sched.lock)
		proc.go#L6425: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6439: 				unlock(&sched.lock)
		proc.go#L6446: 				unlock(&sched.lock)
		proc.go#L6452: 			sched.nmspinning.Add(1)
		proc.go#L6467: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6487: 	lock(&sched.lock)
		proc.go#L6488: 	sched.nmsys++
		proc.go#L6490: 	unlock(&sched.lock)
		proc.go#L6524: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L6525: 			lock(&sched.lock)
		proc.go#L6526: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L6530: 					sched.sysmonwait.Store(true)
		proc.go#L6531: 					unlock(&sched.lock)
		proc.go#L6542: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L6546: 					lock(&sched.lock)
		proc.go#L6547: 					sched.sysmonwait.Store(false)
		proc.go#L6548: 					noteclear(&sched.sysmonnote)
		proc.go#L6555: 			unlock(&sched.lock)
		proc.go#L6558: 		lock(&sched.sysmonlock)
		proc.go#L6568: 		lastpoll := sched.lastpoll.Load()
		proc.go#L6570: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L6615: 		unlock(&sched.sysmonlock)
		proc.go#L6703: 		if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L6801: 	assertLockHeld(&sched.lock)
		proc.go#L6805: 	sched.stopwait--
		proc.go#L6905: 	lock(&sched.lock)
		proc.go#L6906: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runq.size)
		proc.go#L6908: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L6950: 		unlock(&sched.lock)
		proc.go#L6992: 	unlock(&sched.lock)
		proc.go#L7101: 		lock(&sched.lock)
		proc.go#L7102: 		custom := sched.customGOMAXPROCS
		proc.go#L7103: 		unlock(&sched.lock)
		proc.go#L7114: 		lock(&sched.lock)
		proc.go#L7115: 		sched.customGOMAXPROCS = false
		proc.go#L7116: 		unlock(&sched.lock)
		proc.go#L7127: 	lock(&sched.lock)
		proc.go#L7128: 	custom := sched.customGOMAXPROCS
		proc.go#L7130: 	unlock(&sched.lock)
		proc.go#L7164: 	lock(&sched.lock)
		proc.go#L7165: 	if sched.disable.user == !enable {
		proc.go#L7166: 		unlock(&sched.lock)
		proc.go#L7169: 	sched.disable.user = !enable
		proc.go#L7171: 		n := sched.disable.runnable.size
		proc.go#L7172: 		globrunqputbatch(&sched.disable.runnable)
		proc.go#L7173: 		unlock(&sched.lock)
		proc.go#L7174: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L7178: 		unlock(&sched.lock)
		proc.go#L7187: 	assertLockHeld(&sched.lock)
		proc.go#L7189: 	if sched.disable.user {
		proc.go#L7201: 	assertLockHeld(&sched.lock)
		proc.go#L7203: 	sched.midle.push(unsafe.Pointer(mp))
		proc.go#L7204: 	sched.nmidle++
		proc.go#L7214: 	assertLockHeld(&sched.lock)
		proc.go#L7216: 	mp := (*m)(sched.midle.pop())
		proc.go#L7218: 		sched.nmidle--
		proc.go#L7231: 	assertLockHeld(&sched.lock)
		proc.go#L7238: 	sched.midle.remove(unsafe.Pointer(mp))
		proc.go#L7239: 	sched.nmidle--
		proc.go#L7250: 	assertLockHeld(&sched.lock)
		proc.go#L7252: 	sched.runq.pushBack(gp)
		proc.go#L7261: 	assertLockHeld(&sched.lock)
		proc.go#L7263: 	sched.runq.push(gp)
		proc.go#L7273: 	assertLockHeld(&sched.lock)
		proc.go#L7275: 	sched.runq.pushBackAll(*batch)
		proc.go#L7282: 	assertLockHeld(&sched.lock)
		proc.go#L7284: 	if sched.runq.size == 0 {
		proc.go#L7288: 	return sched.runq.pop()
		proc.go#L7294: 	assertLockHeld(&sched.lock)
		proc.go#L7296: 	if sched.runq.size == 0 {
		proc.go#L7300: 	n = min(n, sched.runq.size, sched.runq.size/gomaxprocs+1)
		proc.go#L7302: 	gp = sched.runq.pop()
		proc.go#L7306: 		gp1 := sched.runq.pop()
		proc.go#L7374: 	assertLockHeld(&sched.lock)
		proc.go#L7386: 	pp.link = sched.pidle
		proc.go#L7387: 	sched.pidle.set(pp)
		proc.go#L7388: 	sched.npidle.Add(1)
		proc.go#L7403: 	assertLockHeld(&sched.lock)
		proc.go#L7405: 	pp := sched.pidle.ptr()
		proc.go#L7413: 		sched.pidle = pp.link
		proc.go#L7414: 		sched.npidle.Add(-1)
		proc.go#L7431: 	assertLockHeld(&sched.lock)
		proc.go#L7438: 		sched.needspinning.Store(1)
		proc.go#L7556: 	lock(&sched.lock)
		proc.go#L7558: 	unlock(&sched.lock)
		proc.go#L7861: 	lock(&sched.lock)
		proc.go#L7862: 	out = int(sched.maxmcount)
		proc.go#L7864: 		sched.maxmcount = 0x7fffffff
		proc.go#L7866: 		sched.maxmcount = int32(in)
		proc.go#L7869: 	unlock(&sched.lock)
		proc.go#L7944: 	if i >= active_spin || numCPUStartup <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1407: 	sched         schedt
		trace.go#L372: 	lock(&sched.sysmonlock)
		trace.go#L445: 	unlock(&sched.sysmonlock)
		trace.go#L657: 	lock(&sched.lock)
		trace.go#L662: 	for mp := sched.freem; mp != nil; mp = mp.freelink {
		trace.go#L666: 	unlock(&sched.lock)
		traceruntime.go#L686: 	assertLockHeld(&sched.lock)